﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KL.Store.Core.Domain
{
    #region Pos

    public class Pos
    {
        public int PosId { get; set; }
        public bool IsActive { get; set; }
        public int BankId { get; set; }
        public string BankName { get; set; }
        public string CardName { get; set; }
        public string StoreType { get; set; }
        public string FormUrl { get; set; }
        public string ApiUrl { get; set; }
        public string StoreNo { get; set; }
        public string ApiUserName { get; set; }
        public string ApiPass { get; set; }
        public string UserId { get; set; }
        public string TerminalId { get; set; }
        public string AddTerminalId { get; set; }
        public string SendType { get; set; }
        public string VarType { get; set; }
        public string XmlText { get; set; }
        public bool IsDefault { get; set; }
        public short PosType { get; set; }
        public string Mode { get; set; }
        public string Version { get; set; }
        public string Description { get; set; }
        public string ReasonXMLKey { get; set; }
        public string ErrMsgXMLKey { get; set; }
        public string ReasonAttribute { get; set; }
        public string ErrMsgAttribute { get; set; }
        public string ApproveXMLKey { get; set; }
        public string ApproveAttribute { get; set; }
        public string ApproveCode { get; set; }
        public short OrderNo { get; set; }
        public string ContractNote { get; set; }
        public bool Enabled3D { get; set; }
        public string ApiUrl3D { get; set; }
        public string XmlText3D { get; set; }
        public string Form3D { get; set; }
        public string VarType3D { get; set; }
        public string ApiPass3D { get; set; }
        public short PosGroup { get; set; }
        public string Type3D { get; set; }
        public string PosVoucher { get; set; }

        public IList<PosInstallment> PosInstallment { get; set; }
    }

    #endregion

    #region PosDDL

    public class PosDDL
    {
        public PosDDL(int posId, string bankName, string cardName, string description, string contractNote, bool enabled3D, string type3d, string posvoucher)
        {
            PosId = posId;
            BankName = bankName;
            Description = description;
            ContractNote = contractNote;
            Enabled3D = enabled3D;
            CardName = cardName;
            Type3D = type3d;
            PosVoucher = posvoucher;
        }

        public int PosId { get; set; }
        public string BankName { get; set; }
        public string CardName { get; set; }
        public string Description { get; set; }
        public string ContractNote { get; set; }
        public bool Enabled3D { get; set; }
        public string Type3D { get; set; }
        public string PosVoucher { get; set; }
    }

    #endregion

    #region PosInstallment

    public class PosInstallment
    {
        public int PosId { get; set; }
        public short InstallmentNumber { get; set; }
        public short AdditionInstallment { get; set; }
        public short TotalInstallment { get; set; }
        public decimal CommissionRate { get; set; }
        public decimal CampaignCommissionRate { get; set; }
        public decimal Limit { get; set; }
        public bool IsActive { get; set; }
        public decimal InterestPrice { get; set; }
        public decimal CampaignInterestPrice { get; set; }
        public decimal TotalInterestPrice { get; set; }
        public decimal CampaignTotalInterestPrice { get; set; }
        public decimal CommissionPrice { get; set; }
        public decimal CampaignCommissionPrice { get; set; }
        public bool Bold { get; set; }
    }

    #endregion

    public class PosBin
    {
        public int Bin { get; set; }
        public int BankCode { get; set; }
        public string BankName { get; set; }
        public string BinType { get; set; }
        public string SubType { get; set; }
        public int PosId { get; set; }
        public string PosVoucher { get; set; }
    }
}
